1. Field of the Invention
The present invention relates to a network processing apparatus and a multiprocessor system for sending and/or receiving data through a network.
2. Description of the Related Art
In network communication, specifications and/or regulations for a physical layer and a data link layer may impose a restriction on the data length of a transferable packet. The transferable maximum data length is referred to as maximum transfer unit (MTU). MTU is 1500 bytes for Ethernet or PPP (Point to Point Protocol) and 4352 bytes for FDDI. If the data length of a packet that an application running on a computer is sending exceeds MTU, the packet is divided into packets with a data length equal to or less than MTU in either a socket layer, a transport layer or a network layer and then the divided packets are transferred. The processor of the computer may have to allocate a great amount of resources to networking software such as a protocol stack to perform a protocol processing on the divided packets so that the processing efficiency will deteriorate.
The data transfer speed of Ethernet used to be 10 Mbps, however, 100 Mbps Ethernet is now in wide use and more recently even gigabit Ethernet using an optical fiber is being used. Since the data transfer speed of the network thus increases, a large amount of data will be now sent and received. The small size of the packets in comparison with an amount of data to be transferred will affect transfer processing performance and contribute to communication speed degradation.
Some network interface cards (NIC) allow a supportable packet length to be set to a value more than a normal MTU. A packet having a data length more than MTU is generally called “a jumbo packet”. When a jumbo packet function is activated, the data size transferable at one time will become larger and the number of times of transferring packets will decrease. As a result, the processing load in transferring a large amount of data will be reduced and the throughput can be improved.
However, in order to use such a jumbo packet, all devices involving communication, such as communication apparatus at both a sender side and a receiver side, a hub for relaying the packets on the communication route, or the like must support the jumbo packet. If any one of the communication devices does not support the jumbo packets, no jumbo packet is properly transmitted. When a jumbo packet is transmitted via the Internet, most existing routers may not support the jumbo packet and therefore the jumbo packet will be divided into the short packets of a small size equal to or less than MTU and then transmitted. Practically speaking, in the current circumstances, the jumbo packet technique will be therefore effective only in a local area network in which no router is involved in data transfer.
Furthermore, since support for jumbo packets can be device-dependent, a user or a network administrator has to configure settings for enabling a jumbo packet function of all involved communication devices and therefore the administration becomes complicated.